perm filename SOSLNK.LAP[1,3] blob
sn#000197 filedate 1972-07-18 generic text, type T, neo UTF8
(LAP FILEIN FSUBR)
(JSP 6 SPECBIND)
(0 0 (SPECIAL FILENAME))
(0 0 (SPECIAL EXPRLOC))
(PUSH P 1)
(MOVEI 2 (QUOTE (EXPR SUBR)))
(MOVEI 1 (QUOTE NEWREAD))
(CALL 2 (E GETL))
(HLRZ@ 3 1)
(HRRZ@ 2 1)
(HLRZ@ 2 2)
(PUSH P 1)
(MOVEI 1 (QUOTE READ))
(CALL 3 (E PUTPROP))
(MOVEI 2 (QUOTE (FEXPR FSUBR)))
(MOVEI 1 (QUOTE NEWDEFPROP))
(CALL 2 (E GETL))
(HLRZ@ 3 1)
(HRRZ@ 2 1)
(HLRZ@ 2 2)
(MOVEM 1 0 P)
(MOVEI 1 (QUOTE DEFPROP))
(CALL 3 (E PUTPROP))
(MOVEI 2 (QUOTE (EXPR SUBR)))
(MOVEI 1 (QUOTE NEWPUTPROP))
(CALL 2 (E GETL))
(HLRZ@ 3 1)
(HRRZ@ 2 1)
(HLRZ@ 2 2)
(MOVEM 1 0 P)
(MOVEI 1 (QUOTE PUTPROP))
(CALL 3 (E PUTPROP))
(PUSH P (C 0 0 (QUOTE NIL) 0))
TAG1 (MOVE 1 -2 P)
(JUMPE 1 TAG4)
(HLRZ@ 1 1)
(MOVEM 1 (SPECIAL FILENAME))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE DSK:))
(CALL 2 (E XCONS))
(CALL 17 (E INPUT))
(MOVEI 2 (QUOTE NIL))
(MOVEI 1 (QUOTE T))
(CALL 2 (E INC))
TAG2 (MOVEI 1 (QUOTE ((READ))))
(CALL 17 (E ERRSET))
(MOVEM 1 0 P)
(CALL 1 (E ATOM))
(JUMPN 1 TAG3)
(HLRZ@ 1 0 P)
(CALL 1 (E *EVAL))
(CALL 1 (E PRINT))
(JRST 0 TAG2)
TAG3 (MOVEI 2 (QUOTE T))
(MOVEI 1 (QUOTE NIL))
(CALL 2 (E INC))
(HRRZ@ 1 -2 P)
(MOVEM 1 -2 P)
(JRST 0 TAG1)
TAG4 (MOVEI 2 (QUOTE EXPR))
(MOVEI 1 (QUOTE PUTPROP))
(CALL 2 (E REMPROP))
(MOVEI 2 (QUOTE EXPR))
(MOVEI 1 (QUOTE READ))
(CALL 2 (E REMPROP))
(MOVEI 2 (QUOTE FEXPR))
(MOVEI 1 (QUOTE DEFPROP))
(CALL 2 (E REMPROP))
(MOVEI 2 (QUOTE SUBR))
(MOVEI 1 (QUOTE OLDPUTPROP))
(CALL 2 (E GET))
(MOVE 3 2)
(EXCH 2 1)
(MOVEI 1 (QUOTE PUTPROP))
(CALL 3 (E OLDPUTPROP))
(MOVEI 2 (QUOTE SUBR))
(MOVEI 1 (QUOTE OLDREAD))
(CALL 2 (E GET))
(MOVE 3 2)
(EXCH 2 1)
(MOVEI 1 (QUOTE READ))
(CALL 3 (E PUTPROP))
(MOVEI 2 (QUOTE FSUBR))
(MOVEI 1 (QUOTE OLDDEFPROP))
(CALL 2 (E GET))
(MOVE 3 2)
(EXCH 2 1)
(MOVEI 1 (QUOTE DEFPROP))
(CALL 3 (E PUTPROP))
(MOVEI 1 (QUOTE NIL))
(SUB P (C 0 0 3 3))
(JRST 0 SPECSTR)
NIL
(PUTPROP (QUOTE OLDREAD) (GET (QUOTE READ) (QUOTE SUBR)) (QUOTE SUBR))
(LAP NEWREAD SUBR)
TAG1 (CALL 0 (E NEXTTYI))
(MOVE 2 (SPECIAL IGLIST))
(CALL 2 (E MEMQ))
(JUMPE 1 TAG6)
(CALL 0 (E TYI))
(JRST 0 TAG1)
TAG6 (PUSH P (SPECIAL FILENAME))
(CALL 0 (E PGLINE))
(POP P 2)
(CALL 2 (E XCONS))
(MOVEM 1 (SPECIAL EXPRLOC))
(JCALL 0 (E OLDREAD))
NIL
(PUTPROP (QUOTE OLDDEFPROP) (GET (QUOTE DEFPROP) (QUOTE FSUBR)) (QUOTE FSUBR))
(LAP NEWDEFPROP FSUBR)
(HRRZ@ 3 1)
(HRRZ@ 3 3)
(HLRZ@ 3 3)
(HRRZ@ 2 1)
(HLRZ@ 2 2)
(PUSH P 1)
(HLRZ@ 1 1)
(CALL 3 (E PUTPROP))
(HLRZ@ 1 0 P)
(SUB P (C 0 0 1 1))
(POPJ P)
NIL
(PUTPROP (QUOTE OLDPUTPROP) (GET (QUOTE PUTPROP) (QUOTE SUBR)) (QUOTE SUBR))
(LAP NEWPUTPROP SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(MOVEI 2 (QUOTE SWAPIT))
(MOVE 1 3)
(CALL 2 (E GET))
(JUMPN 1 TAG5)
(MOVE 2 -2 P)
(MOVE 1 -3 P)
(CALL 3 (E OLDPUTPROP))
(JRST 0 TAG1)
TAG5 (MOVE 1 -1 P)
(CALL 1 (E NCONS))
(MOVE 2 1)
(MOVE 1 -3 P)
(CALL 2 (E GETL))
(MOVEM 1 0 P)
(JUMPN 1 TAG7)
(HRRZ@ 2 -3 P)
(MOVE 1 (SPECIAL EXPRLOC))
(CALL 2 (E CONS))
(MOVEI 2 (QUOTE SWAPPROP))
(CALL 2 (E XCONS))
(MOVE 2 -2 P)
(CALL 2 (E XCONS))
(MOVE 2 -1 P)
(CALL 2 (E XCONS))
(HRRM@ 1 -3 P)
(MOVE 1 -2 P)
(JRST 0 TAG1)
TAG7 (PUSH P (SPECIAL EXPRLOC))
(HRRZ@ 1 -1 P)
(CALL 1 (E CADR))
(CAIE 1 (QUOTE SWAPPROP))
(JRST 0 TAG11)
(HRRZ@ 2 -1 P)
(HRRZ@ 2 2)
(HRRZ@ 2 2)
(HRRZ@ 2 2)
(JRST 0 TAG10)
TAG11 (HRRZ@ 2 -1 P)
(HRRZ@ 2 2)
TAG12
TAG10 (POP P 1)
(CALL 2 (E CONS))
(MOVEI 2 (QUOTE SWAPPROP))
(CALL 2 (E XCONS))
(MOVE 2 -2 P)
(CALL 2 (E XCONS))
(HRRM@ 1 0 P)
(MOVE 1 -2 P)
TAG1 (SUB P (C 0 0 4 4))
(POPJ P)
NIL
(DEFPROP EXPR T SWAPIT)
(DEFPROP FEXPR T SWAPIT)
(DEFPROP MACRO T SWAPIT)
(LAP EDFUN FSUBR)
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(MOVEI 2 (QUOTE (SWAPPROP)))
(HLRZ@ 1 1)
(CALL 2 (E GETL))
(JUMPN 1 TAG5)
(MOVEI 1 (QUOTE NO/ SWAP/ INFO))
(CALL 1 (E PRINT))
(JRST 0 TAG2)
TAG5 (CALL 0 (E TERPRI))
(HRRZ@ 1 -4 P)
(JUMPN 1 TAG7)
(MOVEI 2 (QUOTE (SWAPPROP)))
(HLRZ@ 1 -4 P)
(CALL 2 (E GETL))
(CALL 1 (E CADR))
(MOVEM 1 -3 P)
(JRST 0 TAG6)
TAG7 (HRRZ@ 2 -4 P)
(HLRZ@ 1 -4 P)
(CALL 2 (E GETL))
(CALL 1 (E CADDDR))
(MOVEM 1 -3 P)
TAG10
TAG6 (HLRZ@ 1 -3 P)
(MOVEM 1 0 P)
(HRRZ@ 1 -3 P)
(HLRZ@ 1 1)
(MOVEM 1 -1 P)
(HRRZ@ 1 -3 P)
(HRRZ@ 1 1)
(MOVEI 2 (QUOTE CMD))
(MOVEM 1 -2 P)
(MOVEI 1 (QUOTE SAVLSP))
(CALL 2 (E CONS))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE DSK:))
(CALL 2 (E XCONS))
(CALL 17 (E OUTPUT))
(MOVEI 2 (QUOTE NIL))
(MOVEI 1 (QUOTE T))
(CALL 2 (E OUTC))
(MOVEI 1 (QUOTE RUN/ ))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE SAVLSP))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE /.))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE DMP))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE 27))
(CALL 1 (E TYO))
(CALL 0 (E TERPRI))
(MOVEI 1 (QUOTE / ))
(CALL 1 (E PRINC))
(MOVE 1 -2 P)
(CALL 1 (E NCONS))
(MOVE 2 -1 P)
(CALL 2 (E XCONS))
(MOVE 2 0 P)
(CALL 2 (E XCONS))
(MOVEI 2 (QUOTE READ1EXPR))
(CALL 2 (E XCONS))
(CALL 1 (E PRIN1))
(MOVEI 1 (QUOTE 33))
(CALL 1 (E TYO))
(MOVEI 2 (QUOTE T))
(MOVEI 1 (QUOTE NIL))
(CALL 2 (E OUTC))
(MOVEI 2 (QUOTE RPG))
(MOVEI 1 (QUOTE QQSVCM))
(CALL 2 (E CONS))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE DSK:))
(CALL 2 (E XCONS))
(CALL 17 (E OUTPUT))
(MOVEI 2 (QUOTE NIL))
(MOVEI 1 (QUOTE T))
(CALL 2 (E OUTC))
(MOVEI 1 (QUOTE COM/ ))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE SAVLSP))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE /.))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE CMD))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE //NON/ ))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE DO/[1/,3/]))
(CALL 1 (E PRINC))
(MOVEI 2 (QUOTE T))
(MOVEI 1 (QUOTE NIL))
(CALL 2 (E OUTC))
(MOVEI 1 (QUOTE PAGE))
(CALL 1 (E PRINT))
(MOVE 1 -1 P)
(CALL 1 (E PRINC))
(CALL 0 (E TERPRI))
(MOVEI 4 (QUOTE NIL))
(MOVE 3 -2 P)
(MOVE 2 -1 P)
(MOVE 1 0 P)
(CALL 4 (E SOSSWAP))
TAG2 (MOVEI 1 (QUOTE NIL))
(SUB P (C 0 0 5 5))
(POPJ P)
NIL
(SETQ IGLIST (QUOTE (11 12 14 15 40)))
(DEFSYM (QUOTE SOS) 370000)
(DEFSYM (QUOTE SUBI) 275000)
(DEFSYM (QUOTE SOJE) 362000)
(DEFSYM (QUOTE TYI) 1027)
(DEFSYM (QUOTE OLDCH) 1112)
(DEFSYM (QUOTE INUM0) (MAKNUM 0 (QUOTE FIXNUM)))
(LAP FINDPAGE SUBR)
(SUBI 1 INUM0)
(PUSH P 1)
LOOP (MOVE 1 0 P)
(SOJE 1 END)
ILOOP (PUSHJ P TYI)
(CAIE 1 14)
(JRST 0 ILOOP)
(SOS 0 0 P)
(JRST 0 LOOP)
END (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP NEXTTYI SUBR)
(PUSHJ P TYI)
(MOVEM 1 OLDCH)
(JRST 0 FIX1A)
NIL
(LAP READ1EXPR FSUBR)
(PUSH P 1)
(HLRZ@ 1 1)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE DSK:))
(CALL 2 (E XCONS))
(CALL 17 (E INPUT))
(MOVEI 2 (QUOTE NIL))
(MOVEI 1 (QUOTE T))
(CALL 2 (E INC))
(HRRZ@ 1 0 P)
(HLRZ@ 1 1)
(CALL 1 (E FINDPAGE))
(PUSH P (C 0 0 (QUOTE NIL) 0))
TAG1 (CALL 0 (E NEXTTYI))
(HRRZ@ 1 -1 P)
(CALL 1 (E CADR))
(PUSH P 1)
(CALL 0 (E PGLINE))
(HRRZ@ 2 1)
(POP P 1)
(CALL 2 (E EQUAL))
(JUMPN 1 TAG2)
(CALL 0 (E TYI))
(JRST 0 TAG1)
TAG2 (CALL 0 (E READ))
(CALL 1 (E *EVAL))
(MOVEI 2 (QUOTE T))
(MOVEM 1 0 P)
(MOVEI 1 (QUOTE NIL))
(CALL 2 (E INC))
(MOVE 1 0 P)
(SUB P (C 0 0 2 2))
(POPJ P)
NIL
(DEFSYM (QUOTE ADDI) 271000)
(DEFSYM (QUOTE CALLI) 47000)
(DEFSYM (QUOTE DPB) 137000)
(DEFSYM (QUOTE HRLI) 505000)
(DEFSYM (QUOTE IDIVI) 231000)
(DEFSYM (QUOTE IDPB) 136000)
(DEFSYM (QUOTE ILDB) 134000)
(DEFSYM (QUOTE SKIPE) 332000)
(DEFSYM (QUOTE SOJG) 367000)
(DEFSYM (QUOTE TLNN) 607000)
(DEFSYM (QUOTE TRO) 660000)
(DEFSYM (QUOTE TTYUUO) 51000)
(LAP SOSSWAP SUBR)
(MOVEM 1 FNAME)
(SUBI 2 INUM0)
(MOVEM 2 FPAGE)
(MOVEM 4 CMODE)
(MOVE 1 3)
(PUSHJ P MKLINUM)
(MOVEM 1 FLINE)
(MOVE 1 FNAME)
(CALL 1 (E ATOM))
(JUMPE 1 DOTTED)
(MOVE 1 FNAME)
(MOVEI 2 (QUOTE / / / / / / ))
(CALL 2 (E CONS))
(MOVEM 1 FNAME)
DOTTED (HLRZ@ 1 FNAME)
(MOVEI 2 (QUOTE PNAME))
(CALL 2 (E GET))
(PUSHJ P MAKSIX)
(PUSH P 1)
(HRRZ@ 1 FNAME)
(MOVEI 2 (QUOTE PNAME))
(CALL 2 (E GET))
(PUSHJ P MAKSIX)
(POP P 14)
(MOVE 15 FLINE)
(MOVE 16 FPAGE)
(MOVE 13 1)
(SKIPE 0 CMODE)
(TRO 13 400000)
(MOVEI 11 NIL)
(CALLI 11 24)
(MOVE 1 (C SAV 0 RUN))
(TTYUUO 11)
(CALLI 1 400004)
FNAME (0)
FPAGE (0)
FLINE (0)
CMODE (0)
SAV (446353 0)
(634166 0 546360)
(445560 0)
(0)
(0)
RUN (446353 0)
(635763 0)
(445560 0)
(0 0 1)
(21 0 23)
MAKSIX (PUSH P 1)
(MOVEI 5 5)
(MOVE 2 (C 440600 0 1 0))
(MOVEI 1 NIL)
MKSIX1 (HLRZ@ 4 0 P)
(HRLI 4 440700)
INLUP (ILDB 3 4)
(JUMPE 3 DUN7)
(SUBI 3 40)
(IDPB 3 2)
(SOJG 5 INLUP)
(MOVEI 5 1)
(HRRZ@ 4 0 P)
(MOVEM 4 0 P)
(JUMPN 4 MKSIX1)
DUN7 (SUB P (C 0 0 1 1))
(POPJ P)
MKLINUM
(MOVE 4 (C 10700 0 3))
(SUBI 1 INUM0)
MKLINUM1
(IDIVI 1 12)
(ADDI 2 60)
(DPB 2 4)
(ADD 4 (C 70000 0 0))
(TLNN 4 400000)
(JRST 0 MKLINUM1)
(MOVE 1 3)
(TRO 1 1)
(POPJ P)
NIL
(MAPC (FUNCTION (LAMBDA (X) (REMPROP X (QUOTE MACRO))))
(QUOTE (EDFUN FILEIN)))